<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
  <script>
    /* 
        作用域链
            - 当我们使用一个变量时
                JS解析器会优先在当前作用域中寻找变量，
                    如果找到了则直接使用
                    如果没找到，则去上一层作用域中寻找，找到了则使用
                    如果没找到，则继续去上一层寻找，以此类推
                    如果一直到全局作用域都没找到，则报错
    */
    {
      let a = 10;
      {
        let a = 20;
        // console.log(a, "a");
      }
    }
    function fn() {
      let b = 168;
      function f1() {
        let b = 16;
        console.log(b, "b");
      }
      f1();
    }
    fn();
  </script>
</html>
